<template>
    <div class="tab-bar-item" @click="itemClick">
        <div v-show="!isActive"><slot name="itemIcon"></slot></div>
        <div v-show="isActive"><slot name="itemActive"></slot></div>
        <div :style="activeStyle"><slot name="itemText"></slot></div>
    </div>
</template>
<script>
    export default {
        name: "tabBarItem",
        props:{
            path: String,
            activeColor: {
                type:String,
                default:'lightcoral'
            }
        },
        data() {
            return {
            }
        },
        methods:{
            itemClick () {
                this.$router.replace(this.path).catch((err)=>err)
            }
        },
        computed:{
            isActive () {
                return this.$route.path.indexOf(this.path) !== -1
            },
            activeStyle () {
                return this.isActive ? {color: this.activeColor} : {}
            }
        }
    }
</script>
<style>
    @import url(~assets/css/base.css);

    .tab-bar-item {
        flex: 1;
        text-align: center;
        height: 49px;
        font-size: 14px;
    }

    .tab-bar-item img {
        width: 24px;
        height: 24px;
        margin-top: 3px;
        vertical-align: middle;
    }
</style>